<!DOCTYPE html>
<html>

<head>
	<meta charset="UTF-8" />
	<title>引出生命周期</title>
	<!-- 引入Vue -->
	<script type="text/javascript" src="../js/vue.js"></script>
</head>
<!-- 
	生命周期：
		1.又名：生命周期回调函数、生命周期函数、生命周期钩子。
		2.是什么：Vue在关键时刻帮我们调用的一些特殊名称的函数。
		3.生命周期函数的名字不可更改，但函数的具体内容是程序员根据需求编写的。
		4.生命周期函数中的this指向是vm 或 组件实例对象。
-->

<body>

	<!-- 准备好一个容器-->
	<div id="root">
		<h2 v-if="a">你好啊</h2>
		<h2 :style="{opacity}">欢迎学习Vue</h2>
	</div>
</body>

<script type="text/javascript">
	Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。


	new Vue({
		el: '#root',
		data: {
			a: false,
			opacity: 1
		},
		methods: {

		},
		//Vue完成模板的解析并把初始的真实DOM元素放入页面后（挂载完毕）调用mounted
		mounted() {
			console.log('mounted', this)
			setInterval(() => {
				this.opacity -= 0.01
				if (this.opacity <= 0) this.opacity = 1
			}, 16)
		},
	})

		//通过外部的定时器实现（不推荐）
	/* setInterval(() => {
		vm.opacity -= 0.01
		if(vm.opacity <= 0) vm.opacity = 1
	},16) */
</script>

</html>